const getAssignDate = value => {
  return new Date(value);
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}

function formatTime(number, format = 'Y-M-D h:m:s') {
  var formateArr = ['Y', 'M', 'D', 'h', 'm', 's'];
  var returnArr = [];
  var date = getAssignDate(number * 1000);

  returnArr.push(date.getFullYear());
  returnArr.push(formatNumber(date.getMonth() + 1));
  returnArr.push(formatNumber(date.getDate()));
  returnArr.push(formatNumber(date.getHours()));
  returnArr.push(formatNumber(date.getMinutes()));
  returnArr.push(formatNumber(date.getSeconds()));

  for (let i in returnArr) {
    format = format.replace(formateArr[i], returnArr[i]);
  }

  return format;
}

function convertDate(date) {
  var date = getAssignDate(date);
  var time = date.getTime() / 1000;

  return time;
}

function currentTimestamp(ms = false) {
  //let time = new Date().getTime();
  let time = Date.now();
  if (!ms) time /= 1000;

  return Math.floor(time);
}

module.exports = {
  toDate: formatTime,
  toUnix: convertDate,
  curUnix: currentTimestamp,
}